#pragma once

#include once "winapifamily.bi"

#define __HIDUSAGE_H__
#define HID_USAGE_PAGE_UNDEFINED cast(USAGE, &h00)
#define HID_USAGE_PAGE_GENERIC cast(USAGE, &h01)
#define HID_USAGE_PAGE_SIMULATION cast(USAGE, &h02)
#define HID_USAGE_PAGE_VR cast(USAGE, &h03)
#define HID_USAGE_PAGE_SPORT cast(USAGE, &h04)
#define HID_USAGE_PAGE_GAME cast(USAGE, &h05)
#define HID_USAGE_PAGE_KEYBOARD cast(USAGE, &h07)
#define HID_USAGE_PAGE_LED cast(USAGE, &h08)
#define HID_USAGE_PAGE_BUTTON cast(USAGE, &h09)
#define HID_USAGE_PAGE_ORDINAL cast(USAGE, &h0a)
#define HID_USAGE_PAGE_TELEPHONY cast(USAGE, &h0b)
#define HID_USAGE_PAGE_CONSUMER cast(USAGE, &h0c)
#define HID_USAGE_PAGE_DIGITIZER cast(USAGE, &h0d)
#define HID_USAGE_PAGE_UNICODE cast(USAGE, &h10)
#define HID_USAGE_PAGE_ALPHANUMERIC cast(USAGE, &h14)
#define HID_USAGE_PAGE_MICROSOFT_BLUETOOTH_HANDSFREE cast(USAGE, &hfff3)
#define HID_USAGE_GENERIC_POINTER cast(USAGE, &h01)
#define HID_USAGE_GENERIC_MOUSE cast(USAGE, &h02)
#define HID_USAGE_GENERIC_JOYSTICK cast(USAGE, &h04)
#define HID_USAGE_GENERIC_GAMEPAD cast(USAGE, &h05)
#define HID_USAGE_GENERIC_KEYBOARD cast(USAGE, &h06)
#define HID_USAGE_GENERIC_KEYPAD cast(USAGE, &h07)
#define HID_USAGE_GENERIC_SYSTEM_CTL cast(USAGE, &h80)
#define HID_USAGE_GENERIC_X cast(USAGE, &h30)
#define HID_USAGE_GENERIC_Y cast(USAGE, &h31)
#define HID_USAGE_GENERIC_Z cast(USAGE, &h32)
#define HID_USAGE_GENERIC_RX cast(USAGE, &h33)
#define HID_USAGE_GENERIC_RY cast(USAGE, &h34)
#define HID_USAGE_GENERIC_RZ cast(USAGE, &h35)
#define HID_USAGE_GENERIC_SLIDER cast(USAGE, &h36)
#define HID_USAGE_GENERIC_DIAL cast(USAGE, &h37)
#define HID_USAGE_GENERIC_WHEEL cast(USAGE, &h38)
#define HID_USAGE_GENERIC_HATSWITCH cast(USAGE, &h39)
#define HID_USAGE_GENERIC_COUNTED_BUFFER cast(USAGE, &h3a)
#define HID_USAGE_GENERIC_BYTE_COUNT cast(USAGE, &h3b)
#define HID_USAGE_GENERIC_MOTION_WAKEUP cast(USAGE, &h3c)
#define HID_USAGE_GENERIC_VX cast(USAGE, &h40)
#define HID_USAGE_GENERIC_VY cast(USAGE, &h41)
#define HID_USAGE_GENERIC_VZ cast(USAGE, &h42)
#define HID_USAGE_GENERIC_VBRX cast(USAGE, &h43)
#define HID_USAGE_GENERIC_VBRY cast(USAGE, &h44)
#define HID_USAGE_GENERIC_VBRZ cast(USAGE, &h45)
#define HID_USAGE_GENERIC_VNO cast(USAGE, &h46)
#define HID_USAGE_GENERIC_SYSCTL_POWER cast(USAGE, &h81)
#define HID_USAGE_GENERIC_SYSCTL_SLEEP cast(USAGE, &h82)
#define HID_USAGE_GENERIC_SYSCTL_WAKE cast(USAGE, &h83)
#define HID_USAGE_GENERIC_SYSCTL_CONTEXT_MENU cast(USAGE, &h84)
#define HID_USAGE_GENERIC_SYSCTL_MAIN_MENU cast(USAGE, &h85)
#define HID_USAGE_GENERIC_SYSCTL_APP_MENU cast(USAGE, &h86)
#define HID_USAGE_GENERIC_SYSCTL_HELP_MENU cast(USAGE, &h87)
#define HID_USAGE_GENERIC_SYSCTL_MENU_EXIT cast(USAGE, &h88)
#define HID_USAGE_GENERIC_SYSCTL_MENU_SELECT cast(USAGE, &h89)
#define HID_USAGE_GENERIC_SYSCTL_MENU_RIGHT cast(USAGE, &h8a)
#define HID_USAGE_GENERIC_SYSCTL_MENU_LEFT cast(USAGE, &h8b)
#define HID_USAGE_GENERIC_SYSCTL_MENU_UP cast(USAGE, &h8c)
#define HID_USAGE_GENERIC_SYSCTL_MENU_DOWN cast(USAGE, &h8d)
#define HID_USAGE_SIMULATION_RUDDER cast(USAGE, &hba)
#define HID_USAGE_SIMULATION_THROTTLE cast(USAGE, &hbb)
#define HID_USAGE_KEYBOARD_NOEVENT cast(USAGE, &h00)
#define HID_USAGE_KEYBOARD_ROLLOVER cast(USAGE, &h01)
#define HID_USAGE_KEYBOARD_POSTFAIL cast(USAGE, &h02)
#define HID_USAGE_KEYBOARD_UNDEFINED cast(USAGE, &h03)
#define HID_USAGE_KEYBOARD_aA cast(USAGE, &h04)
#define HID_USAGE_KEYBOARD_zZ cast(USAGE, &h1d)
#define HID_USAGE_KEYBOARD_ONE cast(USAGE, &h1e)
#define HID_USAGE_KEYBOARD_ZERO cast(USAGE, &h27)
#define HID_USAGE_KEYBOARD_LCTRL cast(USAGE, &he0)
#define HID_USAGE_KEYBOARD_LSHFT cast(USAGE, &he1)
#define HID_USAGE_KEYBOARD_LALT cast(USAGE, &he2)
#define HID_USAGE_KEYBOARD_LGUI cast(USAGE, &he3)
#define HID_USAGE_KEYBOARD_RCTRL cast(USAGE, &he4)
#define HID_USAGE_KEYBOARD_RSHFT cast(USAGE, &he5)
#define HID_USAGE_KEYBOARD_RALT cast(USAGE, &he6)
#define HID_USAGE_KEYBOARD_RGUI cast(USAGE, &he7)
#define HID_USAGE_KEYBOARD_SCROLL_LOCK cast(USAGE, &h47)
#define HID_USAGE_KEYBOARD_NUM_LOCK cast(USAGE, &h53)
#define HID_USAGE_KEYBOARD_CAPS_LOCK cast(USAGE, &h39)
#define HID_USAGE_KEYBOARD_F1 cast(USAGE, &h3a)
#define HID_USAGE_KEYBOARD_F12 cast(USAGE, &h45)
#define HID_USAGE_KEYBOARD_RETURN cast(USAGE, &h28)
#define HID_USAGE_KEYBOARD_ESCAPE cast(USAGE, &h29)
#define HID_USAGE_KEYBOARD_DELETE cast(USAGE, &h2a)
#define HID_USAGE_KEYBOARD_PRINT_SCREEN cast(USAGE, &h46)
#define HID_USAGE_LED_NUM_LOCK cast(USAGE, &h01)
#define HID_USAGE_LED_CAPS_LOCK cast(USAGE, &h02)
#define HID_USAGE_LED_SCROLL_LOCK cast(USAGE, &h03)
#define HID_USAGE_LED_COMPOSE cast(USAGE, &h04)
#define HID_USAGE_LED_KANA cast(USAGE, &h05)
#define HID_USAGE_LED_POWER cast(USAGE, &h06)
#define HID_USAGE_LED_SHIFT cast(USAGE, &h07)
#define HID_USAGE_LED_DO_NOT_DISTURB cast(USAGE, &h08)
#define HID_USAGE_LED_MUTE cast(USAGE, &h09)
#define HID_USAGE_LED_TONE_ENABLE cast(USAGE, &h0a)
#define HID_USAGE_LED_HIGH_CUT_FILTER cast(USAGE, &h0b)
#define HID_USAGE_LED_LOW_CUT_FILTER cast(USAGE, &h0c)
#define HID_USAGE_LED_EQUALIZER_ENABLE cast(USAGE, &h0d)
#define HID_USAGE_LED_SOUND_FIELD_ON cast(USAGE, &h0e)
#define HID_USAGE_LED_SURROUND_FIELD_ON cast(USAGE, &h0f)
#define HID_USAGE_LED_REPEAT cast(USAGE, &h10)
#define HID_USAGE_LED_STEREO cast(USAGE, &h11)
#define HID_USAGE_LED_SAMPLING_RATE_DETECT cast(USAGE, &h12)
#define HID_USAGE_LED_SPINNING cast(USAGE, &h13)
#define HID_USAGE_LED_CAV cast(USAGE, &h14)
#define HID_USAGE_LED_CLV cast(USAGE, &h15)
#define HID_USAGE_LED_RECORDING_FORMAT_DET cast(USAGE, &h16)
#define HID_USAGE_LED_OFF_HOOK cast(USAGE, &h17)
#define HID_USAGE_LED_RING cast(USAGE, &h18)
#define HID_USAGE_LED_MESSAGE_WAITING cast(USAGE, &h19)
#define HID_USAGE_LED_DATA_MODE cast(USAGE, &h1a)
#define HID_USAGE_LED_BATTERY_OPERATION cast(USAGE, &h1b)
#define HID_USAGE_LED_BATTERY_OK cast(USAGE, &h1c)
#define HID_USAGE_LED_BATTERY_LOW cast(USAGE, &h1d)
#define HID_USAGE_LED_SPEAKER cast(USAGE, &h1e)
#define HID_USAGE_LED_HEAD_SET cast(USAGE, &h1f)
#define HID_USAGE_LED_HOLD cast(USAGE, &h20)
#define HID_USAGE_LED_MICROPHONE cast(USAGE, &h21)
#define HID_USAGE_LED_COVERAGE cast(USAGE, &h22)
#define HID_USAGE_LED_NIGHT_MODE cast(USAGE, &h23)
#define HID_USAGE_LED_SEND_CALLS cast(USAGE, &h24)
#define HID_USAGE_LED_CALL_PICKUP cast(USAGE, &h25)
#define HID_USAGE_LED_CONFERENCE cast(USAGE, &h26)
#define HID_USAGE_LED_STAND_BY cast(USAGE, &h27)
#define HID_USAGE_LED_CAMERA_ON cast(USAGE, &h28)
#define HID_USAGE_LED_CAMERA_OFF cast(USAGE, &h29)
#define HID_USAGE_LED_ON_LINE cast(USAGE, &h2a)
#define HID_USAGE_LED_OFF_LINE cast(USAGE, &h2b)
#define HID_USAGE_LED_BUSY cast(USAGE, &h2c)
#define HID_USAGE_LED_READY cast(USAGE, &h2d)
#define HID_USAGE_LED_PAPER_OUT cast(USAGE, &h2e)
#define HID_USAGE_LED_PAPER_JAM cast(USAGE, &h2f)
#define HID_USAGE_LED_REMOTE cast(USAGE, &h30)
#define HID_USAGE_LED_FORWARD cast(USAGE, &h31)
#define HID_USAGE_LED_REVERSE cast(USAGE, &h32)
#define HID_USAGE_LED_STOP cast(USAGE, &h33)
#define HID_USAGE_LED_REWIND cast(USAGE, &h34)
#define HID_USAGE_LED_FAST_FORWARD cast(USAGE, &h35)
#define HID_USAGE_LED_PLAY cast(USAGE, &h36)
#define HID_USAGE_LED_PAUSE cast(USAGE, &h37)
#define HID_USAGE_LED_RECORD cast(USAGE, &h38)
#define HID_USAGE_LED_ERROR cast(USAGE, &h39)
#define HID_USAGE_LED_SELECTED_INDICATOR cast(USAGE, &h3a)
#define HID_USAGE_LED_IN_USE_INDICATOR cast(USAGE, &h3b)
#define HID_USAGE_LED_MULTI_MODE_INDICATOR cast(USAGE, &h3c)
#define HID_USAGE_LED_INDICATOR_ON cast(USAGE, &h3d)
#define HID_USAGE_LED_INDICATOR_FLASH cast(USAGE, &h3e)
#define HID_USAGE_LED_INDICATOR_SLOW_BLINK cast(USAGE, &h3f)
#define HID_USAGE_LED_INDICATOR_FAST_BLINK cast(USAGE, &h40)
#define HID_USAGE_LED_INDICATOR_OFF cast(USAGE, &h41)
#define HID_USAGE_LED_FLASH_ON_TIME cast(USAGE, &h42)
#define HID_USAGE_LED_SLOW_BLINK_ON_TIME cast(USAGE, &h43)
#define HID_USAGE_LED_SLOW_BLINK_OFF_TIME cast(USAGE, &h44)
#define HID_USAGE_LED_FAST_BLINK_ON_TIME cast(USAGE, &h45)
#define HID_USAGE_LED_FAST_BLINK_OFF_TIME cast(USAGE, &h46)
#define HID_USAGE_LED_INDICATOR_COLOR cast(USAGE, &h47)
#define HID_USAGE_LED_RED cast(USAGE, &h48)
#define HID_USAGE_LED_GREEN cast(USAGE, &h49)
#define HID_USAGE_LED_AMBER cast(USAGE, &h4a)
#define HID_USAGE_LED_GENERIC_INDICATOR cast(USAGE, &h4b)
#define HID_USAGE_TELEPHONY_PHONE cast(USAGE, &h01)
#define HID_USAGE_TELEPHONY_ANSWERING_MACHINE cast(USAGE, &h02)
#define HID_USAGE_TELEPHONY_MESSAGE_CONTROLS cast(USAGE, &h03)
#define HID_USAGE_TELEPHONY_HANDSET cast(USAGE, &h04)
#define HID_USAGE_TELEPHONY_HEADSET cast(USAGE, &h05)
#define HID_USAGE_TELEPHONY_KEYPAD cast(USAGE, &h06)
#define HID_USAGE_TELEPHONY_PROGRAMMABLE_BUTTON cast(USAGE, &h07)
#define HID_USAGE_TELEPHONY_REDIAL cast(USAGE, &h24)
#define HID_USAGE_TELEPHONY_TRANSFER cast(USAGE, &h25)
#define HID_USAGE_TELEPHONY_DROP cast(USAGE, &h26)
#define HID_USAGE_TELEPHONY_LINE cast(USAGE, &h2a)
#define HID_USAGE_TELEPHONY_RING_ENABLE cast(USAGE, &h2d)
#define HID_USAGE_TELEPHONY_SEND cast(USAGE, &h31)
#define HID_USAGE_TELEPHONY_KEYPAD_0 cast(USAGE, &hb0)
#define HID_USAGE_TELEPHONY_KEYPAD_D cast(USAGE, &hbf)
#define HID_USAGE_TELEPHONY_HOST_AVAILABLE cast(USAGE, &hf1)
#define HID_USAGE_MS_BTH_HF_DIALNUMBER cast(USAGE, &h21)
#define HID_USAGE_MS_BTH_HF_DIALMEMORY cast(USAGE, &h22)
#define HID_USAGE_CONSUMERCTRL cast(USAGE, &h01)
#define HID_USAGE_DIGITIZER_PEN cast(USAGE, &h02)
#define HID_USAGE_DIGITIZER_IN_RANGE cast(USAGE, &h32)
#define HID_USAGE_DIGITIZER_TIP_SWITCH cast(USAGE, &h42)
#define HID_USAGE_DIGITIZER_BARREL_SWITCH cast(USAGE, &h44)
type USAGE as USHORT
type PUSAGE as USHORT ptr
